package com.base.cn.platform.os.common.utils.price;

import java.util.Map;

/**
 * 价格工具类
 *
 * @author s.li
 * @create 2018-10-09-10:36
 */
public class PriceUtils {

    /**
     * 设置课程和试卷的购买状态
     * @param buyStatus 购买状态Map数据
     * @param selaSwitch 平台售卖类型，1普通，2会员，3组合
     * @param memberShop 是否是会员商品，1是，2否
     * @param price 商品价格
     * @param memberPrice 商品会员价格
     * @param memberUser 用户是否是会员
     * @return Map<String,Object>
     */
    public static Map<String,Object> handleCourseOrExamPriceData(Map<String,Object> buyStatus,
                            String selaSwitch,
                            Integer memberShop,
                            Double price,
                            Double memberPrice,
                            boolean memberUser){
        Object buy = buyStatus.get("buy");
        if(buy==null){
            buyStatus.put("buy", false);//购买状态（直接显示立即学习的按钮）
        }
        boolean _buy = (boolean)buyStatus.get("buy");
        buyStatus.put("buyBut", false);//立即报名按钮
        buyStatus.put("addCartBut", false);//添加购物车按钮
        buyStatus.put("freeBuyBut", false);//免费报名按钮
        buyStatus.put("priceBut", false);//价格显示区
        buyStatus.put("freePriceBut", false);//免费价格显示区
        buyStatus.put("memberPriceBut", false);//会员价格显示区
        buyStatus.put("memberFreePriceBut", false);//会员免费价格显示区
        buyStatus.put("memberBut", false);//开通会员按钮
        boolean ordinary = false;//是否是普通课程或试卷
        if(selaSwitch.equals("2")){//会员售卖方式
            if(memberShop.intValue() ==1){//会员商品
                if (memberUser) {//有会员权限
                    buyStatus.put("freeBuyBut", true);//免费报名按钮
                    buyStatus.put("payType", "MEMBER");//会员免费报名类型
                }else{//没有会员权限(需要正常购买)
                    buyStatus.put("memberBut", true);//开通会员按钮
                }
            }else{//非会员试卷
                ordinary = true;
            }
        }else if(selaSwitch.equals("1")){//普通售卖方式
            ordinary = true;
        }else if(selaSwitch.equals("3")){//组合售卖方式
            if(memberUser){//有会员权限
                if(memberPrice.doubleValue() <= 0){//
                    buyStatus.put("freeBuyBut", true);//会员免费报名按钮
                    buyStatus.put("freePriceBut", true);//免费价格显示区
                    buyStatus.put("memberFreePriceBut", true);//会员免费价格显示区
                    buyStatus.put("payType", "FREE");//免费报名类型
                }else{
                    buyStatus.put("priceBut", true);//价格显示区
                    buyStatus.put("memberPriceBut", true);//会员价格显示区
                    if(!_buy){
                        buyStatus.put("buyBut", true);//立即报名按钮
                        buyStatus.put("addCartBut", true);//添加购物车按钮
                    }
                }
            }else{//无会员权限
                if(price.doubleValue() <= 0){
                    buyStatus.put("freeBuyBut", true);//免费报名按钮
                    buyStatus.put("freePriceBut", true);//免费价格显示区
                    buyStatus.put("payType", "FREE");//免费报名类型
                }else{
                    buyStatus.put("priceBut", true);//价格显示区
                    if(!_buy){
                        buyStatus.put("buyBut", true);//立即报名按钮
                        buyStatus.put("addCartBut", true);//添加购物车按钮
                    }
                    buyStatus.put("memberBut", true);//开通会员按钮
                    if(memberPrice.doubleValue() <= 0){
                        buyStatus.put("memberFreePriceBut", true);//会员免费价格显示区
                    }else{
                        buyStatus.put("memberPriceBut", true);//会员价格显示区
                    }
                }
            }
        }
        if(ordinary){//普通试卷价格显示区处理方式
            if(price.doubleValue() <= 0){//不是会员商品，且价格小于等于0，就当作普通试卷来免费报名
                buyStatus.put("freeBuyBut", true);//免费报名按钮
                buyStatus.put("freePriceBut", true);//免费价格显示区
                buyStatus.put("payType", "FREE");//免费报名类型
            }else{
                buyStatus.put("priceBut", true);//价格显示区
                if(!_buy){
                    buyStatus.put("buyBut", true);//立即报名按钮
                    buyStatus.put("addCartBut", true);//添加购物车按钮
                }
            }
        }
        return buyStatus;
    }
}
